﻿//-----------------------------------------------------------------------
// <copyright file="EncoderOptions.cs" company="iTunesEncodeNet">
//  (c) 2009 Vlasenko Dmitry
// </copyright>
//-----------------------------------------------------------------------

namespace ITunesEncodeNet
{
    using System.IO;
    using System.Windows.Forms;

    /// <summary>
    /// Provides encoder options.
    /// </summary>
    public static class EncoderOptions
    {
        ////private static string metaflacPath;

        /// <summary>
        /// Full path to flac.exe.
        /// </summary>
        private static string flacPath;

        /// <summary>
        /// Full path to mac.exe.
        /// </summary>
        private static string apePath;

        ////public static string MetaflacPath
        ////{
        ////    get { return metaflacPath; }
        ////}

        /// <summary>
        /// Initializes static members of the EncoderOptions class.
        /// </summary>
        static EncoderOptions()
        {
            string flacDir = Path.Combine(Application.StartupPath, "flac");
            string apeDir = Path.Combine(Application.StartupPath, "ape");

            ////metaflacPath = Path.Combine(flacDir, "metaflac.exe");
            flacPath = Path.Combine(flacDir, "flac.exe");
            apePath = Path.Combine(apeDir, "mac.exe");
        }

        /// <summary>
        /// Encoder type.
        /// </summary>
        public enum EncoderType
        {
            /// <summary>
            /// Flac encoder.
            /// </summary>
            flac,

            /// <summary>
            /// Ape encoder.
            /// </summary>
            ape
        }

        /// <summary>
        /// Gets full path to flac.exe.
        /// </summary>
        public static string FlacPath
        {
            get { return flacPath; }
        }

        /// <summary>
        /// Gets full path to mac.exe.
        /// </summary>
        public static string ApePath
        {
            get { return apePath; }
        }
    }
}
